<script>

    // 迭代器: 用来迭代数据的机器

    // es6新增了iterator 迭代器，用来迭代数据

    // 具有iterator接口的数据，都可以被iterator迭代

    // iterator可以迭代：arguments  字符串、数组、set、map、HTMLcollection、NodeList （不能迭代对象）

    // 接口：网线接口  usb接口  代表的是一个功能或者方法



    // iterator接口长什么样：
    let arr=[11,22,33,44,55]
    // console.log(arr);//Symbol(Symbol.iterator)



    // iterator迭代器怎么使用：
    // Symbol.iterator=Symbol(Symbol.iterator)

    // iterator怎么遍历数据

    // 第一步：创建指针对象
    let ite= arr[Symbol.iterator]()
    console.log(ite);// Array Iterator {}  指针对象


    // 第二步：让指针指向第一个值 
    // next: ƒ next()  下一步
    let value1= ite.next()
    console.log(value1);//{value: 11, done: false}


    // 第三步：让指针继续指向下一个值
    let  value2=ite.next()
    console.log(value2);//{value: 22, done: false}


    let  value3=ite.next()//{value: 33, done: false}
    console.log(value3);


    let  value4=ite.next()
    console.log(value4);//{value: 44, done: false}


    let  value5=ite.next()
    console.log(value5);//{value: 55, done: false}


    let  value6=ite.next()
    console.log(value6);//{value: undefined, done: true}


    let  value7=ite.next()
    console.log(value7);//{value: undefined, done: true}


</script>